package com.spring.sunflower.data;

import com.spring.sunflower.bean.AccountBean;
import com.spring.sunflower.bean.AccountMoneyBean;
import com.spring.sunflower.bean.AnchorDetailBean;
import com.spring.sunflower.bean.AnchorGiftReceivedBean;
import com.spring.sunflower.bean.AuthCodeBean;
import com.spring.sunflower.bean.BalanceBean;
import com.spring.sunflower.bean.BannerBean;
import com.spring.sunflower.bean.BillBean;
import com.spring.sunflower.bean.BillListBean;
import com.spring.sunflower.bean.BlackHasBean;
import com.spring.sunflower.bean.BlackListBean;
import com.spring.sunflower.bean.CallRecordBean;
import com.spring.sunflower.bean.ChatGiftBean;
import com.spring.sunflower.bean.ChatPeopleBean;
import com.spring.sunflower.bean.CheckApplyFaceVerifyBean;
import com.spring.sunflower.bean.FaceAuthStatusBean;
import com.spring.sunflower.bean.FansBean;
import com.spring.sunflower.bean.CommonBean;
import com.spring.sunflower.bean.GiveGiftBean;
import com.spring.sunflower.bean.HelloBean;
import com.spring.sunflower.bean.IncomeChatBean;
import com.spring.sunflower.bean.IncomeGiftBean;
import com.spring.sunflower.bean.IncomeVideoChatBean;
import com.spring.sunflower.bean.LabelBean;
import com.spring.sunflower.bean.LatestVisitorBean;
import com.spring.sunflower.bean.LatestVisitorNumBean;
import com.spring.sunflower.bean.LiveAcceptChatBean;
import com.spring.sunflower.bean.LiveApplyChatBean;
import com.spring.sunflower.bean.LoginByAuthCodeBean;
import com.spring.sunflower.bean.NearbyBean;
import com.spring.sunflower.bean.NewGiftBagBean;
import com.spring.sunflower.bean.NewestBean;
import com.spring.sunflower.bean.PhotoListBean;
import com.spring.sunflower.bean.PhotoListReleaseBean;
import com.spring.sunflower.bean.RecommendAnchorsBean;
import com.spring.sunflower.bean.STSCertBean;
import com.spring.sunflower.bean.SignInBean;
import com.spring.sunflower.bean.TalkRepositoryBean;
import com.spring.sunflower.bean.TaskAwardDailyBean;
import com.spring.sunflower.bean.TaskAwardSignBean;
import com.spring.sunflower.bean.TaskBean;
import com.spring.sunflower.bean.UserAuthBean;
import com.spring.sunflower.bean.UserInfoUpdateBean;
import com.spring.sunflower.bean.VersionBean;
import com.spring.sunflower.bean.VideoCommentBean;
import com.spring.sunflower.bean.VideoCommentReleaseBean;
import com.spring.sunflower.bean.VideoListBean;
import com.spring.sunflower.bean.VideoPlayBean;
import com.spring.sunflower.bean.VideoShowReleaseBean;
import com.spring.sunflower.bean.VideoSubCommentBean;
import com.spring.sunflower.bean.VideoSubCommentReleaseBean;
import com.spring.sunflower.bean.WeChatH5Bean;
import com.spring.sunflower.bean.WeChatH5PayResultBean;
import com.spring.sunflower.bean.WeChatPayBean;
import com.spring.sunflower.bean.WithdrawRecordBean;
import com.spring.sunflower.http.AppRetrofit;

import java.util.HashMap;
import java.util.Map;

import io.reactivex.rxjava3.core.Observable;

/**
 * Created by Kevin on 2021/5/28<br/>
 * <p>
 * Describe:<br/>
 */
public class RequestDataSource implements RemoteDataSource {
    private static RequestDataSource INSTANCE;

    private RequestDataSource() {

    }

    public static RequestDataSource getInstance() {
        if (INSTANCE == null) {
            synchronized (RequestDataSource.class) {
                INSTANCE = new RequestDataSource();
            }
        }
        return INSTANCE;

    }


    @Override
    public Observable<AuthCodeBean> requestAuthCode(String phoneNum, String type) {
        Map<String, String> map = new HashMap<>();
        map.put("mobile", phoneNum);
        map.put("type", type);
        return AppRetrofit.getInstance().getHttpService().getAuthCode(map);
    }

    @Override
    public Observable<LoginByAuthCodeBean> loginByAuthCode(String phoneNum, String authCode) {
        Map<String, String> map = new HashMap<>();
        map.put("mobile", phoneNum);
        map.put("code", authCode);
        return AppRetrofit.getInstance().getHttpService().loginByAuthCode(map);
    }

    @Override
    public Observable<LoginByAuthCodeBean> loginByToken(String userID, String token) {
        Map<String, String> map = new HashMap<>();
        map.put("MID", userID);
        map.put("token", token);
        return AppRetrofit.getInstance().getHttpService().loginByToken(map);
    }

    @Override
    public Observable<LoginByAuthCodeBean> loginByOneKey(String userID, String token) {
        Map<String, String> map = new HashMap<>();
        map.put("MID", userID);
        map.put("token", token);
        return AppRetrofit.getInstance().getHttpService().loginByOneKey(map);
    }

    @Override
    public Observable<LoginByAuthCodeBean> loginByDevice() {
        return AppRetrofit.getInstance().getHttpService().loginByDevice();
    }

    @Override
    public Observable<LoginByAuthCodeBean> register(String gender, String hobby, String nickname) {
        Map<String, String> map = new HashMap<>();
        map.put("hobbies", hobby);
        map.put("sex", gender);
        map.put("nickname", nickname);
        return AppRetrofit.getInstance().getHttpService().register(map);
    }


    @Override
    public Observable<RecommendAnchorsBean> requestRecommendAnchorsFruit(int pageIndex) {
        return AppRetrofit.getInstance().getHttpService().getRecommendAnchorsFruit(String.valueOf(pageIndex));
    }

    @Override
    public Observable<RecommendAnchorsBean> requestRecommendAnchors(int pageIndex, String labelId) {
        Map<String, String> map = new HashMap<>();
        map.put("pageIndex", String.valueOf(pageIndex));
        map.put("visualizeLabel", labelId);
        return AppRetrofit.getInstance().getHttpService().getRecommendAnchors(map);
    }

    @Override
    public Observable<BannerBean> requestBanner() {
        return AppRetrofit.getInstance().getHttpService().getBanner();
    }

    @Override
    public Observable<NearbyBean> requestNearby(int pageIndex) {
        return AppRetrofit.getInstance().getHttpService().getNearby(pageIndex);
    }

    @Override
    public Observable<NewestBean> requestNewest(int pageIndex) {
        return AppRetrofit.getInstance().getHttpService().getNewest(pageIndex);
    }

    @Override
    public Observable<FaceAuthStatusBean> requestFaceAuthStatus() {
        return AppRetrofit.getInstance().getHttpService().getFaceAuthStatus();
    }

    @Override
    public Observable<CheckApplyFaceVerifyBean> requestCheckFaceAuthStatus() {
        return AppRetrofit.getInstance().getHttpService().getCheckFaceAuthStatus();
    }

    @Override
    public Observable<LabelBean> requestLabel(String type) {
        return AppRetrofit.getInstance().getHttpService().getLabel(type);
    }

    @Override
    public Observable<CommonBean> requestRemoveBlack(String blackId) {
        return AppRetrofit.getInstance().getHttpService().blackRemove(blackId);
    }

    @Override
    public Observable<CommonBean> requestAddBlack(String blackMemberId) {
        Map<String, String> map = new HashMap<>();
        map.put("blackMemberId", blackMemberId);
        return AppRetrofit.getInstance().getHttpService().blackAdd(map);
    }

    @Override
    public Observable<BlackHasBean> requestHasBlack(String blackMemberId, String operatorId) {
        Map<String, String> map = new HashMap<>();
        map.put("blackMemberId", blackMemberId);
        map.put("operatorId", operatorId);
        return AppRetrofit.getInstance().getHttpService().getHasBlacked(map);
    }

    @Override
    public Observable<AnchorGiftReceivedBean> requestGiftLogReceived(String anchorId, String pageIndex) {
        Map<String, String> map = new HashMap<>();
        map.put("anchorId", anchorId);
        map.put("pageIndex", pageIndex);
        return AppRetrofit.getInstance().getHttpService().getGiftLogReceived(map);
    }

    @Override
    public Observable<AnchorDetailBean> requestAnchorDetail(String targetId) {
        Map<String, String> map = new HashMap<>();
        map.put("targetId", targetId);
        return AppRetrofit.getInstance().getHttpService().getAnchorDetail(map);
    }

    @Override
    public Observable<CommonBean> requestFollowedHas(String anchorId) {
        Map<String, String> map = new HashMap<>();
        map.put("anchorId", anchorId);
        return AppRetrofit.getInstance().getHttpService().getHasFollowed(map);
    }

    @Override
    public Observable<CommonBean> requestFollowedSet(String anchorId, String set) {
        Map<String, String> map = new HashMap<>();
        map.put("anchorId", anchorId);
        map.put("op", set);
        return AppRetrofit.getInstance().getHttpService().setFollow(map);
    }

    @Override
    public Observable<FansBean> requestFansOrFollowed(String userId, String pageIndex, String type) {
        Map<String, String> map = new HashMap<>();
        map.put("MID", userId);
        map.put("pageIndex", pageIndex);
        map.put("type", type);
        return AppRetrofit.getInstance().getHttpService().getFansOrFollowed(map);
    }


    @Override
    public Observable<CommonBean> requestReport(String reportMemberId, String type, String reason, String operatorMobile) {
        Map<String, String> map = new HashMap<>();
        map.put("reportMemberId", reportMemberId);
        map.put("reason", reason);
        map.put("type", type);
        map.put("operatorMobile", operatorMobile);
        return AppRetrofit.getInstance().getHttpService().report(map);
    }

    @Override
    public Observable<UserAuthBean> checkApplyAuth() {
        return AppRetrofit.getInstance().getHttpService().checkApplyAuth();
    }

    @Override
    public Observable<UserInfoUpdateBean> userInfoUpdate(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().userInfoUpdate(map);
    }

    @Override
    public Observable<STSCertBean> getSTSCert() {
        return AppRetrofit.getInstance().getHttpService().getSTSCert();
    }

    @Override
    public Observable<PhotoListReleaseBean> releasePhoto(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().photoRelease(map);
    }

    @Override
    public Observable<PhotoListBean> queryPhoto(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().photoQuery(map);
    }

    @Override
    public Observable<CommonBean> deletePhoto(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().photoDelete(map);
    }

    @Override
    public Observable<VideoShowReleaseBean> releaseVideo(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().videoRelease(map);
    }

    @Override
    public Observable<VideoListBean> queryVideo(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().videoQuery(map);
    }

    @Override
    public Observable<CommonBean> deleteVideo(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().videoDelete(map);
    }

    @Override
    public Observable<CommonBean> setOnlineStatus(String onlineStatusID) {
        return AppRetrofit.getInstance().getHttpService().setOnlineStatus(onlineStatusID);
    }

    @Override
    public Observable<BlackListBean> requestBlackList(String userId, String pageIndex) {
        Map<String, String> map = new HashMap<>();
        map.put("MID", userId);
        map.put("pageIndex", pageIndex);
        return AppRetrofit.getInstance().getHttpService().blackList(map);
    }

    @Override
    public Observable<CommonBean> feedback(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().feedback(map);
    }

    /**
     * @param userId
     * @param pageIndex
     * @param descType  按1时间 2金额排序 默认1时间倒序
     * @return
     */
    @Override
    public Observable<BillListBean> requestBillList(String userId, String pageIndex, String descType) {
        Map<String, String> map = new HashMap<>();
        map.put("MID", userId);
        map.put("pageIndex", pageIndex);
        map.put("descType", descType);
        return AppRetrofit.getInstance().getHttpService().getBillList(map);
    }

    @Override
    public Observable<BalanceBean> requestBalance(String type) {
        return AppRetrofit.getInstance().getHttpService().getBalance(type);
    }

    @Override
    public Observable<CommonBean> removeAllOrder() {
        return AppRetrofit.getInstance().getHttpService().removeAllOrder();
    }

    @Override
    public Observable<CommonBean> removeSingleOrder(String id) {
        return AppRetrofit.getInstance().getHttpService().removeSingleOrder(id);
    }

    @Override
    public Observable<CommonBean> generateAliPayOrder(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().generateAliPayOrder(map);
    }

    @Override
    public Observable<CommonBean> generateAliPayOrderH5(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().generateAliPayOrderH5(map);
    }

    @Override
    public Observable<CommonBean> generateAliPayOrderVIP(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().generateAliPayOrderVIP(map);
    }

    @Override
    public Observable<CommonBean> generateWXPayOrder(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().generateWXPayOrder(map);
    }

    @Override
    public Observable<CommonBean> generateWXPayOrderH5(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().generateWXPayOrderH5(map);
    }

    @Override
    public Observable<CommonBean> generateWXPayOrderVIP(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().generateWXPayOrderVIP(map);
    }


    @Override
    public Observable<CommonBean> liveCallShow(String anchorId) {
        return AppRetrofit.getInstance().getHttpService().liveCallShow(anchorId);
    }

    @Override
    public Observable<LiveApplyChatBean> liveApplyChat(String userId, String anchorId) {
        Map<String, String> map = new HashMap<>();
        map.put("MID", userId);
        map.put("anchorId", anchorId);
        return AppRetrofit.getInstance().getHttpService().liveApplyChat(map);
    }


    @Override
    public Observable<LiveApplyChatBean> liveApplyChatAnchor(String id) {
        return AppRetrofit.getInstance().getHttpService().liveApplyChatAnchor(id);
    }

    @Override
    public Observable<CommonBean> liveStopChatAnchor(String roomId) {
        return AppRetrofit.getInstance().getHttpService().liveStopChatAnchor(roomId);
    }

    @Override
    public Observable<CommonBean> liveStopChatMember(String roomId) {
        return AppRetrofit.getInstance().getHttpService().liveStopChatMember(roomId);
    }

    @Override
    public Observable<CommonBean> liveOnlineVerifyAnchor(String roomId) {
        return AppRetrofit.getInstance().getHttpService().liveOnlineVerifyAnchor(roomId);
    }

    @Override
    public Observable<CommonBean> liveOnlineVerifyMember(String roomId) {
        return AppRetrofit.getInstance().getHttpService().liveOnlineVerifyMember(roomId);
    }

    @Override
    public Observable<LiveAcceptChatBean> liveAcceptChat(String userId, String memberId) {
        HashMap<String, String> map = new HashMap<>();
        map.put("MID", userId);
        map.put("memberId", memberId);
        return AppRetrofit.getInstance().getHttpService().liveAcceptChat(map);
    }

    @Override
    public Observable<LiveAcceptChatBean> liveAcceptChatMember(String anchorId) {
        return AppRetrofit.getInstance().getHttpService().liveAcceptChatMember(anchorId);
    }

    @Override
    public Observable<CommonBean> liveRefuseChatAnchor(String userId, String memberId) {
        HashMap<String, String> map = new HashMap<>();
        map.put("MID", userId);
        map.put("memberId", memberId);
        return AppRetrofit.getInstance().getHttpService().liveRefuseChatAnchor(map);
    }

    @Override
    public Observable<CommonBean> liveRefuseChatMember(String anchorId) {
        return AppRetrofit.getInstance().getHttpService().liveRefuseChatMember(anchorId);
    }

    @Override
    public Observable<CommonBean> liveCancelDialingMember(String userId, String anchorId) {
        HashMap<String, String> map = new HashMap<>();
        map.put("MID", userId);
        map.put("anchorId", anchorId);
        return AppRetrofit.getInstance().getHttpService().liveCancelDialingMember(map);
    }

    @Override
    public Observable<CommonBean> liveCancelDialing(String memberId) {
        return AppRetrofit.getInstance().getHttpService().liveCancelDialing(memberId);
    }

    @Override
    public Observable<TalkRepositoryBean> loadTalkRepository() {
        return AppRetrofit.getInstance().getHttpService().loadTalkRepository();
    }

    @Override
    public Observable<ChatGiftBean> getAllGift() {
        return AppRetrofit.getInstance().getHttpService().getAllGift();
    }

    @Override
    public Observable<GiveGiftBean> sendGift(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().sendGift(map);
    }

    @Override
    public Observable<BlackHasBean> realAuth(String authPhotoPath, String photoPath) {
        return AppRetrofit.getInstance().getHttpService().realAuth(authPhotoPath, photoPath);
    }

    @Override
    public Observable<BlackHasBean> beautyAuth() {
        return AppRetrofit.getInstance().getHttpService().beautyAuth();
    }

    @Override
    public Observable<CommonBean> keepOnline() {
        return AppRetrofit.getInstance().getHttpService().keepOnline();
    }

    @Override
    public Observable<VideoPlayBean> requestVideoList(String memberId, String pageIndex) {
        HashMap<String, String> map = new HashMap<>();
        map.put("memberId", memberId);
        map.put("pageIndex", pageIndex);
        return AppRetrofit.getInstance().getHttpService().videoList(map);
    }

    @Override
    public Observable<VideoPlayBean> requestVideoListRecommend(String pageIndex) {
        HashMap<String, String> map = new HashMap<>();
        map.put("pageIndex", pageIndex);
        return AppRetrofit.getInstance().getHttpService().videoListRecommend(map);
    }

    @Override
    public Observable<LatestVisitorNumBean> latestVisitorTotal() {
        return AppRetrofit.getInstance().getHttpService().latestVisitorTotal();
    }

    @Override
    public Observable<LatestVisitorBean> latestVisitor(String pageIndex, String type) {
        HashMap<String, String> map = new HashMap<>();
        map.put("pageIndex", pageIndex);
        map.put("type", type);
        return AppRetrofit.getInstance().getHttpService().latestVisitor(map);
    }

    @Override
    public Observable<TaskBean> queryTask() {
        return AppRetrofit.getInstance().getHttpService().queryTask();
    }

    @Override
    public Observable<SignInBean> signIn() {
        return AppRetrofit.getInstance().getHttpService().signIn();
    }

    @Override
    public Observable<SignInBean> querySignInRecord() {
        return AppRetrofit.getInstance().getHttpService().querySignInRecord();
    }

    @Override
    public Observable<CommonBean> updateLocation(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().updateLocation(map);
    }

    @Override
    public Observable<CommonBean> aliPayGenerate(String exchangeId) {
        Map<String, String> map = new HashMap<>();
        map.put("channel", "android");
        map.put("exchangeId", exchangeId);
        return AppRetrofit.getInstance().getHttpService().aliPayGenerate(map);
    }

    @Override
    public Observable<CommonBean> aliPayH5(String exchangeId, String userIdOrPhone) {
        Map<String, String> map = new HashMap<>();
        map.put("userIdOrMobile", userIdOrPhone);
        map.put("exchangeId", exchangeId);
        return AppRetrofit.getInstance().getHttpService().aliPayH5(map);
    }

    @Override
    public Observable<CommonBean> aliPayGenerateVip(String vipInfoId) {
        Map<String, String> map = new HashMap<>();
        map.put("channel", "android");
        map.put("vipInfoId", vipInfoId);
        return AppRetrofit.getInstance().getHttpService().aliPayGenerateVip(map);
    }

    @Override
    public Observable<WeChatPayBean> weChatPayGenerate(String exchangeId) {
        Map<String, String> map = new HashMap<>();
        map.put("channel", "android");
        map.put("exchangeId", exchangeId);
        return AppRetrofit.getInstance().getHttpService().weChatPayGenerate(map);
    }

    @Override
    public Observable<WeChatPayBean> weChatPayH5(String exchangeId, String userIdOrPhone) {
        Map<String, String> map = new HashMap<>();
        map.put("userIdOrMobile", userIdOrPhone);
        map.put("exchangeId", exchangeId);
        return AppRetrofit.getInstance().getHttpService().weChatPayH5(map);
    }

    @Override
    public Observable<WeChatPayBean> weChatPayGenerateVip(String vipInfoId) {
        Map<String, String> map = new HashMap<>();
        map.put("channel", "android");
        map.put("vipInfoId", vipInfoId);
        return AppRetrofit.getInstance().getHttpService().weChatPayGenerateVip(map);
    }

    @Override
    public Observable<TaskAwardDailyBean> awardDaily(String type, String pageIndex) {
        Map<String, String> map = new HashMap<>();
        map.put("taskType", type);
        map.put("pageIndex", pageIndex);
        return AppRetrofit.getInstance().getHttpService().awardDaily(map);
    }

    @Override
    public Observable<TaskAwardSignBean> awardSign(String pageIndex) {
        return AppRetrofit.getInstance().getHttpService().awardSign(pageIndex);
    }

    @Override
    public Observable<IncomeChatBean> incomeIMChat(String pageIndex) {
        return AppRetrofit.getInstance().getHttpService().incomeIMChat(pageIndex);
    }

    @Override
    public Observable<IncomeGiftBean> incomeGift(String pageIndex) {
        return AppRetrofit.getInstance().getHttpService().incomeGift(pageIndex);
    }

    @Override
    public Observable<IncomeVideoChatBean> incomeVideoChat(String pageIndex) {
        return AppRetrofit.getInstance().getHttpService().incomeVideoChat(pageIndex);
    }

    @Override
    public Observable<BillBean> billDetail(String pageIndex) {
        return AppRetrofit.getInstance().getHttpService().billDetail(pageIndex);
    }

    @Override
    public Observable<AccountBean> getAccount() {
        return AppRetrofit.getInstance().getHttpService().getAccount();
    }

    @Override
    public Observable<AccountMoneyBean> getAccountMoneyInfo(String userID) {
        return AppRetrofit.getInstance().getHttpService().getAccountMoneyInfo(userID);
    }

    @Override
    public Observable<BlackHasBean> getApplyWithdraw(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().getApplyWithdraw(map);
    }

    @Override
    public Observable<WithdrawRecordBean> getWithdrawRecord(String pageIndex) {
        Map<String, String> map = new HashMap<>();
        map.put("pageIndex", pageIndex);
        map.put("descType", "1");
        return AppRetrofit.getInstance().getHttpService().getWithdrawRecord(map);
    }

    @Override
    public Observable<HelloBean> getSayHelloList() {
        return AppRetrofit.getInstance().getHttpService().getSayHelloList();
    }

    @Override
    public Observable<BlackHasBean> sayHello(String anchorIdList) {
        return AppRetrofit.getInstance().getHttpService().sayHello(anchorIdList);
    }

    @Override
    public Observable<BlackHasBean> greeted(String anchorId, String userId) {
        return AppRetrofit.getInstance().getHttpService().greeted(anchorId, userId);
    }

    @Override
    public Observable<CallRecordBean> getCallRecord(String pageIndex) {
        return AppRetrofit.getInstance().getHttpService().getCallRecord(pageIndex);
    }

    @Override
    public Observable<NewGiftBagBean> getNewGift() {
        return AppRetrofit.getInstance().getHttpService().getNewGift();
    }

    @Override
    public Observable<ChatPeopleBean> getChatPeople() {
        return AppRetrofit.getInstance().getHttpService().getChatPeople();
    }

    @Override
    public Observable<BlackHasBean> bindPhone(String phoneNum, String authCode) {
        Map<String, String> map = new HashMap<>();
        map.put("mobile", phoneNum);
        map.put("code", authCode);
        return AppRetrofit.getInstance().getHttpService().bindPhone(map);
    }

    @Override
    public Observable<BlackHasBean> bindPhoneFruit(String phoneNum, String code) {
        return AppRetrofit.getInstance().getHttpService().bindPhone(phoneNum, code);
    }

    @Override
    public Observable<CommonBean> accountOff() {
        return AppRetrofit.getInstance().getHttpService().accountOff();
    }

    @Override
    public Observable<VersionBean> getVersion() {
        return AppRetrofit.getInstance().getHttpService().getVersion();
    }

    @Override
    public Observable<VersionBean> getCurrentVersion() {
        return AppRetrofit.getInstance().getHttpService().getCurrentVersion();
    }

    @Override
    public Observable<VersionBean> getLatestVersion() {
        return AppRetrofit.getInstance().getHttpService().getLatestVersion();
    }

    @Override
    public Observable<WeChatH5Bean> getWeChatH5Pay(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().getWeChatH5Pay(map);
    }

    @Override
    public Observable<WeChatH5Bean> getWeChatH5PayProduct(Map<String, String> map) {
        return AppRetrofit.getInstance().getHttpService().getWeChatH5PayProduct(map);
    }

    @Override
    public Observable<WeChatH5PayResultBean> getWeChatH5PayResult(String orderNo) {
        return AppRetrofit.getInstance().getHttpService().getWeChatH5PayResult(orderNo);
    }

    @Override
    public Observable<CommonBean> getVideoShowLike(String likeFlag, String videoId) {
        return AppRetrofit.getInstance().getHttpService().getVideoShowLike(likeFlag, videoId);
    }

    @Override
    public Observable<VideoCommentBean> getCommentList(String pageIndex, String videoId) {
        return AppRetrofit.getInstance().getHttpService().getCommentList(pageIndex, videoId);
    }

    @Override
    public Observable<VideoSubCommentBean> getSubCommentList(String pageIndex, String rootCommentId) {
        return AppRetrofit.getInstance().getHttpService().getSubCommentList(pageIndex, rootCommentId);
    }

    @Override
    public Observable<VideoCommentReleaseBean> releaseComment(String content, String videoId) {
        return AppRetrofit.getInstance().getHttpService().releaseComment(content, videoId);
    }

    @Override
    public Observable<VideoSubCommentReleaseBean> releaseSubComment(String content, String parentCommentId) {
        return AppRetrofit.getInstance().getHttpService().releaseSubComment(content, parentCommentId);
    }

    @Override
    public Observable<CommonBean> getVideoCommentLike(String likeFlag, String commentId) {
        return AppRetrofit.getInstance().getHttpService().getVideoCommentLike(likeFlag, commentId);
    }

}
